
using Qdb.Internal;
using Qdb.Internal.Activation;

namespace Qdb.Internal.Activation
{
	/// <summary>Activates the full object graph.</summary>
	/// <remarks>Activates the full object graph.</remarks>
	public class FullActivationDepth : ActivationDepthImpl
	{
		public FullActivationDepth(ActivationMode mode) : base(mode)
		{
		}

		public FullActivationDepth() : this(ActivationMode.Activate)
		{
		}

		public override IActivationDepth Descend(ClassMetadata metadata)
		{
			return this;
		}

		public override bool RequiresActivation()
		{
			return true;
		}
	}
}
